Daemon Thread [http-8080-Processor22] (Suspended (exception NullPointerException))

来源:百度知道 编辑:UC知道 时间:2024/06/02 01:08:03
package dao;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.sql.Statement;

public class ConnectionManager {

private static final String DRIVER="com.microsoft.sqlserver.jdbc.SQLServerDriver";
private static final String URL="jdbc:sqlserver://localhost:8080;DatabaseName=Yan";
private static final String USER="sa";
private static final String PWD="sa";

public Connection getConnection(){
Connection Conn=null;
try{
try{
Class.forName(DRIVER);
}catch(ClassNotFoundException e){
System.out.println("没有找到驱动!");
}
Conn=DriverManager.getConnection(URL,USER,PWD);
}catch(SQLException e){
e.printStackTrace();
}
return Conn;
}

public void CloseConnection(Connection connection){

Connection Conn=null;
ResultSet rest=null;
Statement state=null;
String sql="select * from news";
try{
Conn=getConnection();

//有问题 state=Conn.createStatement();

由于你的Connection Conn=null; 这句话 所以呢你下边的state=Conn.createStatement(); 错误了
其实最根本的问题 是你数据库的连接类写的有问题 你没有使用静态 所以他不会再类调用前就加载 这就表明你的getConnection(); 其实就存在问题
建议你将连接类改为静态的 或者用ConnectionManager C=new ConnectionManager();
Conn=c.getConnection();
这样的方法调用 别用继承 送你个连接数据库的类的写法 自己借鉴下吧

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;

public class Utilities {

public static Connection getConnection() {
Connection con = null;

try {
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection("jdbc:mysql://localhost:3306/auction", "root", "esoft");
} catch (SQLException e) {
/